// 等待DOM加载完成
document.addEventListener('DOMContentLoaded', function() {
    // 获取所有手风琴头部按钮
    const accordionHeaders = document.querySelectorAll('.accordion-header');
    
    // 为每个头部按钮添加点击事件监听器
    accordionHeaders.forEach(header => {
        header.addEventListener('click', function() {
            // 获取当前手风琴项
            const accordionItem = this.parentElement;
            
            // 检查当前项是否已经处于激活状态
            const isActive = accordionItem.classList.contains('active');
            
            // 首先关闭所有已打开的手风琴项
            closeAllAccordions();
            
            // 如果当前项之前不是激活状态，则激活它（如果已经是激活状态，则保持关闭）
            if (!isActive) {
                accordionItem.classList.add('active');
            }
        });
    });
    
    // 关闭所有手风琴项的函数
    function closeAllAccordions() {
        const activeItems = document.querySelectorAll('.accordion-item.active');
        activeItems.forEach(item => {
            item.classList.remove('active');
        });
    }
    
    // 可选：添加键盘导航支持
    document.addEventListener('keydown', function(e) {
        // 只在聚焦到手风琴头部按钮时处理键盘事件
        if (e.target.classList.contains('accordion-header')) {
            const headers = Array.from(document.querySelectorAll('.accordion-header'));
            const currentIndex = headers.indexOf(e.target);
            let nextIndex = currentIndex;
            
            // 向上箭头键
            if (e.key === 'ArrowUp' && currentIndex > 0) {
                nextIndex = currentIndex - 1;
                headers[nextIndex].focus();
                e.preventDefault();
            }
            // 向下箭头键
            else if (e.key === 'ArrowDown' && currentIndex < headers.length - 1) {
                nextIndex = currentIndex + 1;
                headers[nextIndex].focus();
                e.preventDefault();
            }
            // 空格键或回车键
            else if (e.key === ' ' || e.key === 'Enter') {
                e.target.click();
                e.preventDefault();
            }
        }
    });
    
    // 可选：为了更好的用户体验，添加触摸设备支持
    let touchStartTime = 0;
    const touchTimeout = 200; // 毫秒
    
    accordionHeaders.forEach(header => {
        // 触摸开始
        header.addEventListener('touchstart', function() {
            touchStartTime = new Date().getTime();
        });
        
        // 触摸结束
        header.addEventListener('touchend', function() {
            const touchEndTime = new Date().getTime();
            const touchDuration = touchEndTime - touchStartTime;
            
            // 如果触摸时间很短，认为是点击
            if (touchDuration < touchTimeout) {
                this.click();
            }
        });
    });
});